const { DataTypes } = require('sequelize');
const { sequelizeTarget } = require('../../utils/db');
const {generateUUIDId} = require("../../utils/generatId");
const AuthInfo = require("./Auth");

//   单位
const TemperatureMeterInfo = sequelizeTarget.define('TemperatureMeterInfo', {
    // 表ID
    id: {
        type: DataTypes.STRING(255),
        primaryKey: true, // 设置为主键
        defaultValue: () => generateUUIDId(),
    },
    // 表别名
    alias: {
        type: DataTypes.STRING(255),
        allowNull: false,
    },

    // 单位
    unit:{
        type: DataTypes.STRING(255),
        allowNull: false,
    },

    // 量程
    range: {
        type: DataTypes.STRING(255),
        allowNull: false,
    },
    // 监控id
    monitorId: {
        type: DataTypes.STRING(255),
        allowNull: true,
    },
    username: {
        type: DataTypes.STRING(255),
        allowNull: false,
        references: {
            model: AuthInfo,
            key: 'username',
        },
    },
}, {
    tableName: 'TemperatureMeterInfo',
    timestamps: true,
});


TemperatureMeterInfo.sync()
    .then(() => {
        console.log('温度表模型映射完成');
    })
    .catch((error) => {
        console.error('Error creating table:', error);
    });

module.exports = TemperatureMeterInfo;
